home *** CD-ROM | disk | FTP | other *** search
Oberon Text | 1994-06-23 | 2.1 KB | 87 lines |
- Syntax10.Scn.Fnt
- Syntax10b.Scn.Fnt
- MODULE AmigaLayers;
- IMPORT
- SYSTEM, A:=AmigaBase, e:=AmigaExec, g:=AmigaGraphics;
- CONST
- layersName*="layers.library";
- layersBase:LONGINT;
- layersVersion-:INTEGER;
- CONST
- layerSimple*=0;
- layerBackdrop*=6;
- PROCEDURE BeginUpdate*(l:g.LayerPtr);
- r:A.Regs;
- BEGIN
- r.a[0]:=l;
- A.LibCall(layersBase,-78,r);
- END BeginUpdate;
- PROCEDURE CreateUpfrontLayer*(
- li:g.LayerInfoPtr;
- bm:g.BitMapPtr;
- x0:LONGINT;
- y0:LONGINT;
- x1:LONGINT;
- y1:LONGINT;
- flags:SET;
- superbm:g.BitMapPtr):g.LayerPtr;
- r:A.Regs;
- BEGIN
- r.a[0]:=li;
- r.a[1]:=bm;
- r.a[2]:=superbm;
- r.d[0]:=x0;
- r.d[1]:=y0;
- r.d[2]:=x1;
- r.d[3]:=y1;
- r.d[4]:=SYSTEM.VAL(LONGINT, flags);
- A.LibCall(layersBase,-36,r);
- RETURN r.d[0];
- END CreateUpfrontLayer;
- PROCEDURE DeleteLayer*(layer:g.LayerPtr):BOOLEAN;
- r:A.Regs;
- BEGIN
- r.a[1]:=layer;
- A.LibCall(layersBase,-90,r);
- RETURN r.d[0]#0;
- END DeleteLayer;
- PROCEDURE DisposeLayerInfo*(li:g.LayerInfoPtr);
- r:A.Regs;
- BEGIN
- r.a[0]:=li;
- A.LibCall(layersBase,-150,r);
- END DisposeLayerInfo;
- PROCEDURE EndUpdate*(layer:g.LayerPtr; completed:BOOLEAN);
- r:A.Regs;
- BEGIN
- r.a[0]:=layer;
- r.d[0]:=SYSTEM.VAL(LONGINT, completed);
- A.LibCall(layersBase,-84,r);
- END EndUpdate;
- PROCEDURE InstallClipRegion*(layer:g.LayerPtr; region:g.RegionPtr):g.RegionPtr;
- r:A.Regs;
- BEGIN
- r.a[0]:=layer;
- r.a[1]:=region;
- A.LibCall(layersBase,-174,r);
- RETURN r.d[0];
- END InstallClipRegion;
- PROCEDURE NewLayerInfo*():g.LayerInfoPtr;
- r:A.Regs;
- BEGIN
- A.LibCall(layersBase,-144,r);
- RETURN r.d[0];
- END NewLayerInfo;
- PROCEDURE Init;
- LibraryPtr=POINTER TO e.Library;
- lib:LibraryPtr;
- BEGIN
- layersBase:=e.OpenLibrary(layersName,37);
- IF layersBase=0 THEN HALT(99) END;
- lib:=SYSTEM.VAL(LibraryPtr,layersBase);
- layersVersion:=lib.version;
- END Init;
- BEGIN
- Init;
- END AmigaLayers.
-